package com.sky.result;

import lombok.Data;

import java.io.Serializable;

/**
 * @Author：XueShiHao
 * @Date：2025/6/2 星期一 16:46:54
 * @Email:747278007@qq.com
 * @Description:后端统一返回结果。
 **/
@Data
public class Result<T> implements Serializable {
    private Integer code;//定义编码，1代表成功，0代表失败
    private String msg;//定义错误信息
    private T data;//定义数据

    /**
     * 成功，返回状态码即可，不需要返回数据
     * @return
     * @param <T>
     */
    public  static <T> Result<T> success(){
        Result<T> result =new Result<T>();
        result.code=1;
        return  result;
    }

    /**
     * 成功，返回状态码的同时返回数据
     * @param object
     * @return
     * @param <T>
     */
    public static <T>  Result <T> success(T object){
        Result<T> result=new Result<T>();
        result.code=1;
        result.data=object;
        return result;
    }

    /**
     * 失败，返回相应的状态码以及相应的错误信息
     * @param msg
     * @return
     * @param <T>
     */
    public static <T> Result <T> error(String msg){
        Result<T> result=new Result<T>();
        result.code=0;
        result.msg=msg;
        return result;
    }
}
